package com.lucien.system.service;

import com.lucien.common.dto.RegistBody;
import com.lucien.common.dto.UserUpdate;
import com.lucien.system.domain.SysRoles;
import com.lucien.system.domain.SysUser;

/**
 * @Author Lucien
 * @Date 2021/4/28 18:29
 * @Version 1.0
 * @Description:
 */
public interface SysUserService {

    /**
     * 用户注册
     * @param registBody
     * @return
     */
    public int userRegistere(RegistBody registBody);

    /**
     * 用户名查询
     * @param username
     * @return
     */
    public SysUser selectByUsername(String username);

    /**
     * 用户ID查询
     * @param userId
     * @return
     */
    public SysUser selectByUserId(Integer userId);

    /**
     * 更新用户信息
     * @param userUpdate
     * @return
     */
    public int updateUser(UserUpdate userUpdate);

    /**
     * 禁用用户
     * @param id
     * @return
     */
    public int disableUser(Integer id);

    /**
     * 启用用户
     * @param id
     * @return
     */
    public int enableUser(Integer id);

    /**
     * 获取用户角色信息
     * @param username
     * @return
     */
    public SysRoles getRole(String username);

    /**
     * 更新用户头像
     * @param username
     * @param path
     * @return
     */
    public int updateProfile(String username,String path);

    /**
     * 修改用户状态
     * @param username
     * @param status
     * @return
     */
    public int updateUserStatus(String username, Integer status);

    /**
     * 更新用户盐值
     * @param username
     * @param salt
     * @return
     */
    public int updateUserSalt(String username, String salt);

    /**
     * 获取用户状态
     * @param userId
     * @return
     */
    public int getUserStatus(Integer userId);

    /**
     * 获取用户角色信息
     * @param userId
     * @return
     */
    public String getUserRoles(Integer userId);

    /**
     * 修改密码
     * @param password
     * @return
     */
    public int updatePassword(String password);
}
